using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace VOL.Entity.DomainModels
{
    /// <summary>
    /// 退货单创建DTO，不包含系统自动生成的字段
    /// </summary>
    public class ReturnOrderCreateDto
    {
        /// <summary>
        /// 退货单号
        /// </summary>
        [Required(AllowEmptyStrings = false)]
        public string ReturnOrderCode { get; set; }

        /// <summary>
        /// 退货日期
        /// </summary>
        [Required(AllowEmptyStrings = false)]
        public DateTime ReturnOrderDate { get; set; }

        /// <summary>
        /// 进货单编号
        /// </summary>
        [Required(AllowEmptyStrings = false)]
        public string PurchaseOrderCode { get; set; }

        /// <summary>
        /// 供应商编号Id
        /// </summary>
        [Required(AllowEmptyStrings = false)]
        public long SupplierId { get; set; }

        /// <summary>
        /// 联系人
        /// </summary>
        [Required]
        public string Contact { get; set; }

        /// <summary>
        /// 联系方式
        /// </summary>
        [Required]
        public string ContactPhone { get; set; }

        /// <summary>
        /// 进货部门编号Id
        /// </summary>
        [Required]
        public string DeptId { get; set; }

        /// <summary>
        /// 进货人(客户编号)编号Id
        /// </summary>
        [Required]
        public long CustomerId { get; set; }

        /// <summary>
        /// 单据状态(1.草稿、2.审核、....)
        /// </summary>
        public int? Status { get; set; }

        /// <summary>
        /// 退货原因
        /// </summary>
        [Required]
        public string ReturnDesc { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Remarks { get; set; }
        /// <summary>
        /// 出入库类型id
        /// </summary>
        public long? InOutTypeId { get; set; }

        /// <summary>
        /// 出库状态
        /// </summary>
        public int? OutStatus { get; set; }
    }
}